1. Field of the Invention
The present invention relates to an arithmetic processing device, an inter-object communication method and to a robot, which are suitable for use in, for example, a pet-type robot.
2. Description of the Related Art
Hitherto, robots such as pet-type or xe2x80x9centertainmentxe2x80x9d robots have incorporated object-oriented software, so that various data are processed through inter-object communication. In pet-type robots, the software and hardware are designed to enable the robot to perform behavior or actions similar to those of a pet animal.
Conventional object-oriented software is generally designed based on explicit relationships between objects, so that the objects inevitably have large dependency on each other. One method to reduce mutual dependency of objects is to develop the software in accordance with a technique known as a xe2x80x9cdesign patternxe2x80x9d or xe2x80x9cobserver patternxe2x80x9d, as described in a text entitled DESIGN PATTERN FOR REUSE IN OBJECT ORIENTATION, by Erich Gamma, pp. 313-324. In accordance with the design pattern technique, objects are classified into a subject and observers, and the observers are registered in the subject. The objects are interconnected based on the registration, so that various notifications and data are sent from the observers to the subject.
The subject sequentially invokes designated methods (i.e., updating methods) to the registered objects to entrust the observers to process the data. According to the design pattern technique, therefore, the subject can be designed to have enhanced independence, without necessitating any coding for sending data to specific objects.
The design pattern technique, however, is still unsatisfactory from a view point of practical use in regard to the independency of the objects, because the technique is based on the registration of the observers in a specific subject, requiring descriptions of the objects to be formed prior to the registration.
Another method that has been proposed to enhance independency of software objects employs a visual tool formed in accordance with the above-noted design pattern technique. Details of this method are disclosed in a publication entitled GUIDANCE TO VISUALAGE C++, by JIP Object Technology Researchers"" Association. In accordance with this visual tool-based method, source codes are automatically generated in accordance with object-connection instructions provided through the visual tool. A shortcoming of this technique, therefore, is that it requires a compiler in order to revise the software.
Still another method that has been proposed to enable inter-object communication uses a so-called xe2x80x9cproxyxe2x80x9d, as disclosed in Japanese Patent Application Publication No. 10-28398. This method, however, does not make any contribution to the enhancement of independency of the objects.
Yet another approach hitherto proposed makes use of the naming service method of a client sever system as disclosed in Japanese Patent Application Publication No. 10-171465. This client server system incorporates a method which could be compared with the aforesaid observer pattern method and which decomposes a software architecture into elements. This method also is used in CORBA (Common Object Request Broker Architecture). However, sufficient object independency is not provided, because the technique requires the observers to designate a subject as in the case of the observer pattern method. In addition, re-compiling and re-linking processes are disadvantageously required.
Accordingly, it is an object of the present invention to provide an arithmetic processing device, as well as an inter-object communication method and a robot, that can enhance independency of objects over the known art.
It is another object of the invention to provide a robot having a configuration that is changeable by a user, which robot includes software that automatically detects a change in the configuration and revises internal robot-controlling software in accordance with the detected change.
A general object of the invention is to provide an improved entertainment robot.
To this end, according to a first aspect of the present invention, there is provided an arithmetic processing device for inter-object data communication, which includes: an object manager for connecting objects so as to enable exchange of data between the objects; and connection data supplying means (e.g., system software) for supplying the object manager with connection data necessary for achieving the connection between the objects.
The arithmetic processing device may be advantageously employed within a robot that has replaceable parts to enable alteration of the robot configuration. In this case, the overall actions of the robot are controlled by object-oriented software through inter-object data communication. When robot parts are changed, robot system software detects the change and supplies the object manager with the necessary connection data.
One benefit of the object manager and connection data supplying means of the arithmetic processing device and robot of the invention, is that they allow the designer to design each object without taking into consideration any specific mating object to which the object under design is to be connected. Various combinations or sets of connection information are given to the thus designed object so as to implement different connections, whereby the independency of each object can greatly be enhanced as compared with the known art.
In another aspect of the invention, there is provided a robot having a configuration that is changeable via replacement of parts thereof. This robot includes a part detection unit (e.g., including robot system software) for detecting parts attached to the robot, and outputting a part detection result in accordance with the detection. An information storage unit stores information corresponding to the part detection result for each configuration obtained by replacement of the parts. A software changing unit revises robot-controlling software in correspondence with a changed configuration, based on a comparison of the part detection result with the information stored in the information storage unit. A controller controls general robot operations in accordance with the revised software.
In yet another aspect of the invention, a method for processing data transmitted between a plurality of objects includes the steps of: defining a plurality of combinations of objects; providing specific information corresponding to each combination of objects; and generating, in accordance with the specific information, at least one control signal for application to each of the plurality of objects to manage the data transmitted between the plurality of objects.
The above and other objects, features and advantages of the present invention will become clear from the following description of the preferred embodiments when the same is read in conjunction with the accompanying drawings in which like reference numerals denote like elements and parts.